$fn = function($core_dev, $collectionKey, $collection) {
   return $core_dev['version'];
};
$groups = Functional\group($array, $fn);
// Array ( 
//    [1] => Array (
//       [0] => Array (
//          [name] => Rasmus
//          [surname] => Lerdorf
//          [version] => 1
//       )
//    )
//    [3] => Array (
//       [1] => Array (
//          [name] => Andi
//          [surname] => Gutmans
//          [version] => 3
//       )
//       [2] => Array (
//          [name] => Zeev
//          [surname] => Suraski
//          [version] => 3
//       )
//    )
// )